<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt"%>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>

<%@page pageEncoding="UTF-8"%>
<%@include file="../WEB-INF/jspf/controlesessao.jspf"%>
<c:set var="id_turma" value="${param.id_turma}"/>
<c:set var="id_modulo" value="${param.id_modulo}"/>
<c:set var="id_turno" value="${param.id_turno}"/>
<c:forEach var="id_componente" items="${paramValues.id_componente}">

    <c:set value="matricula_${id_componente}" var="nome_matricula"/>
    <c:set value="id_sala_${id_componente}" var="nome_sala"/>
    <c:set value="data_inicio_${id_componente}" var="nome_data_inicio"/>
    <c:set value="data_fim_${id_componente}" var="nome_data_fim"/>

    <c:set var="matricula" value="${param[nome_matricula]}"/>
    <c:set var="data_inicio" value="${param[nome_data_inicio]}"/>
    <c:set var="data_fim" value="${param[nome_data_fim]}"/>
    <c:set var="id_sala" value="${param[nome_sala]}"/>
    <c:catch var ="catchException">
        <fmt:parseDate var="dI" value="${data_inicio}" pattern="dd/MM/yyyy"/>
        <fmt:parseDate var="dF" value="${data_fim}" pattern="dd/MM/yyyy"/>

        <sql:query var="sql" dataSource="jdbc/dbo_MicrosoftSQLServer">
            select  matricula,id_modulo,id_curso,id_componente,id_turno,id_sala,id_turma,data_inicio,data_fim
            from Alocacoes_temp
            where data_inicio between ? and dateadd(day,1,?)
            and matricula=?
            and id_modulo=?
            and id_componente=?
            and id_sala=?
            and id_turno=?
            and id_turma=?
            and situacao='Sem alocação'
            <sql:dateParam value="${dI}"/>
            <sql:dateParam value="${dF}"/>
            <sql:param value="${matricula}"/>
            <sql:param value="${id_modulo}"/>
            <sql:param value="${id_componente}"/>
            <sql:param value="${id_sala}"/>
            <sql:param value="${id_turno}"/>
            <sql:param value="${id_turma}"/>
        </sql:query>

        <c:forEach var="row" items="${sql.rows}">
            <sql:update var="insert" dataSource="jdbc/dbo_MicrosoftSQLServer">
                insert into Alocacoes(matricula,id_modulo,id_curso,id_componente,id_turno,id_sala,id_turma,data_inicio,data_fim)
                values (?,?,?,?,?,?,?,?,?)
                <sql:param value="${row.matricula}"/>
                <sql:param value="${row.id_modulo}"/>
                <sql:param value="${row.id_curso}"/>
                <sql:param value="${row.id_componente}"/>
                <sql:param value="${row.id_turno}"/>
                <sql:param value="${row.id_sala}"/>
                <sql:param value="${row.id_turma}"/>
                <sql:dateParam value="${row.data_inicio}"/>
                <sql:dateParam value="${row.data_fim}"/>
            </sql:update>
        </c:forEach>
        <p><font color='blue'>Registro Salvo com sucesso!</font></p>

    </c:catch>
    <c:if test = "${catchException!=null}">
        <br>
        Erro : Não foi possível realizar alteração no banco de dados.<br>
        <p  style="color:red">${fn:substringAfter(catchException,"BD:")}</p>
    </c:if>
</c:forEach>